#define _CRT_SECURE_NO_WARNINGS 1

#include<iostream>
#include<list>
using namespace std;
#include"Reverse_Iterator.h"
#include"List.h"
#include"Vector.h"

void func(mySTLList::list<int>& lt)
{
    mySTLList::list<int>::reverse_iterator rit = lt.rbegin();
    while (rit != lt.rend())
    {
        cout << *rit << " ";
        ++rit;
    }
    cout << endl;
}

int main()
{
    mySTLList::list<int> lt;
    lt.push_back(9);
    lt.push_back(8);
    lt.push_back(7);
    lt.push_back(6);
    lt.push_back(5);

    mySTLList::list<int>::iterator it = lt.begin();
    while (it != lt.end())
    {
        cout << *it << " ";
        ++it;
    }
    cout << endl;

    mySTLList::list<int>::reverse_iterator rit = lt.rbegin();
    while (rit != lt.rend())
    {
        cout << *rit << " ";
        ++rit;
    }
    cout << endl;

    func(lt);

    return 0;
}

//void func(mySTLVector::vector<int>& lt)
//{
//    mySTLVector::vector<int>::reverse_iterator rit = lt.rbegin();
//    while (rit != lt.rend())
//    {
//        cout << *rit << " ";
//        ++rit;
//    }
//    cout << endl;
//}
//
//int main()
//{
//    mySTLVector::vector<int> lt;
//    lt.push_back(9);
//    lt.push_back(8);
//    lt.push_back(7);
//    lt.push_back(6);
//    lt.push_back(5);
//
//    mySTLVector::vector<int>::iterator it = lt.begin();
//    while (it != lt.end())
//    {
//        cout << *it << " ";
//        ++it;
//    }
//    cout << endl;
//
//    mySTLVector::vector<int>::reverse_iterator rit = lt.rbegin();
//    while (rit != lt.rend())
//    {
//        cout << *rit << " ";
//        ++rit;
//    }
//    cout << endl;
//
//    func(lt);
//
//    return 0;
//}